Virtualization technologies have wide applications in the computer field with the development of computer systems. Modern computers are capable of supporting a plurality of virtual machines by means of virtualization technologies and running a separate operating system respectively on each virtual machine.
In a virtual machine system, the respective operating systems need to access the hardware. Among others, the access to a graphics card is relatively complex. The different ways in which the graphics card is used are important factors which influence users' experiences. At present, primary virtualization technologies, such as VMW, Virtual PC and the like, adopt substantially the same solutions, that is, providing a virtualized graphics card for a Guest Operating System (GOS). The virtualized graphics card is a general graphics card, which can only achieve basic display functions and is rather different from a real graphics card.
FIG. 1 is a schematic view showing a prior art virtual machine system. The virtual machine system comprises a Virtual Machine Monitor (VMM) 140, a Service Operating System (SOS) 110, and at least one GOS 120. Upon starting, the SOS 110 scans a PCI bus to find a real graphics card 130 and acquire information on the real graphics card 130, so as to allocate resources, such as interrupt requests (IRCs), input/outputs (IOs), and memory-mapped IOs (MMIOs), for the real graphics card 130. The SOS 110 accesses the graphics card 130 by a real graphics card drive 112.
The SOS 110 comprises a Device Module (DM) 111 which provides a virtual graphics card for each GOS 120. Upon starting, the GOS(s) 120 scans a virtual PCI bus to find the virtual graphics card(s) and acquire information on the virtual graphics card(s), so as to allocate resources (IRQs, IOs, and MMIOs) for the virtual graphics card(s). When the GOS(s) 120 is accessing the virtual graphics card(s) through a virtual graphics card drive 126, the accessing data are sent, through the VMM 140, to the DM 111, which in turn converts the accessing data and send it to the real graphics card drive 112. The real graphics card drive 112 processes the received data, and then send it to the graphics card 130.
The virtual machine system comprises at least one GOS 120. When there are several GOSs, the respective GOS operating systems use the graphics card 130 through the SOS 110. Therefore, only the SOS 110 may see the real graphics card 130 and access the graphics card 130 by means of the real graphics card drive 112, while each GOS 120 sees the virtual graphics card provided by the DM 111 and accesses the graphics card by means of the virtual graphics card drive 126. Thus, the hardware accelerating properties of the graphics card 130 may not be used by the users and even the function of 3D animation is not supported. As a result, the displaying performance is deteriorated, and the users' experiences on the graphics card are compromised.